热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

新和|更多_ROS2HumbleHawksbill丰富和成熟生态扩展

篇首语:本文由编程笔记#小编为大家整理,主要介绍了ROS2HumbleHawksbill丰富和成熟生态扩展相关的知识,希望对你有一定的参考价值。ROS1从kine

篇首语:本文由编程笔记#小编为大家整理,主要介绍了ROS 2 Humble Hawksbill 丰富和成熟生态扩展相关的知识,希望对你有一定的参考价值。


ROS1从kinetic之后,生态非常成熟,但是由于ROS1内核设计比较早,不能高效稳定地适应分布并行和实时等应用,存在缺陷,从melodic和noetic之后,一直是ROS1和ROS2并存地状态。

2022年5月,ROS 2 Humble Hawksbill 已经具备了丰富和成熟生态,也结束了并存状态,现在官方主力只更新和完善ROS2了。ROS1只处于维护状态。



原文参考:

discourse.ros.org/t/ros-2-humble-hawksbill-released/25729


机器翻译如下:



仿真:

三大主流软件均支持,Gazebo/V-Rep/Webots。

库和工具
Gazebo 不仅仅是一个模拟器:它是 16 个 C++ 库 3 的集合,可以在机器人应用程序上独立于模拟器使用。 可以在 ROS 包或纯 C++ 项目中使用它们。 如果需要渲染或物理引擎抽象; 用于创建现代机器人界面的 GUI 框架 3; 数学 1、图形或 AV 实用程序,这些库之一可能会派上用场!

可以在 package.xml 中使用


  1. ignition-fortress
  2. ignition-cmake2
  3. ignition-common4
  4. ignition-fuel-tools7
  5. ignition-gazebo6
  6. ignition-gui6
  7. ignition-launch5
  8. ignition-math6
  9. ignition-math6-eigen3
  10. ignition-msgs8
  11. ignition-physics5
  12. ignition-plugin
  13. ignition-rendering6
  14. ignition-sensors6
  15. ignition-tools
  16. ignition-transport11
  17. ignition-utils1
  18. sdformat12



Foxglove



FogROS2

FogROS 2,加州大学伯克利分校的开源云机器人试点平台。使用诸如 Amazon Web Services (AWS) 等商业集群的云计算现在已经足够快,可以实现安全的计算密集型机器人功能,例如通过视频构建 SLAM 地图、抓取规划和高维运动规划,这些功能可以在云中使用高- 近乎实时的高性能硬件和 GPU。 FogROS 2 提供 ROS 2 功能来简化机器人代码的部署。开发人员不需要更改他们的代码——只需要指定希望代码运行的计算机的 AWS 配置。 FogROS 2 协调启动硬件实例、安装软件和依赖项、保护机器人与云通信以及启动云进程的细节。

在示例应用程序中,使用 FogROS 2 将计算密集型 ROS 2 节点部署到云中,用于 SLAM、Grasp Planning 和 Motion Planning。对于 Visual SLAM,在多核云计算机上运行 ORB-SLAM 2 节点,得到了 2 倍的加速。对于 Grasp Planning,在云中的 GPU 实例上运行 Dex-Net 节点并获得了 12 倍的加速。对于运动规划,在 96 核云计算机上运行运动规划模板,并获得了 28 倍的加速。

 



硬件加速

为什么 Yocto/PetaLinux 非常适合机器人硬件加速?
硬件加速涉及创建自定义计算架构以提高计算性能。 简而言之,通过设计专门的加速内核,可以为机器人构建定制大脑,以加快它们的响应时间。 当使用自适应计算和 FPGA 时,这变得特别可行,根据之前的基准,使用 ROS 在机器人技术中提供最佳结果。

创建此类定制计算架构涉及硬件和软件定制,因此:Yocto。 虽然很复杂,但 Yocto 与硬件加速相结合有助于提供高性能的生产级机器人系统。

 



Docker

ROS 最新标签现在指向 Humble ros_base 映像。

只需运行以下命令即可在 Humble 容器中下载并启动会话:

docker run -it ros:humble
ROS Humble 镜像可用于以下平台/架构:

Ubuntu:
   amd64
   arm64v8 (aarch64)
桌面映像(仅限 amd64)在“osrf/ros”docker hub 配置文件 1 上可用

:warning: Humble 不存在 ros1-bridge 映像,因为这是第一个不支持 ROS 1 的 ROS 2 发行版。



CPU+GPU

随着机器人应用程序包含 AI、CV 和其他计算密集型工作负载,在 ROS 中启用硬件加速已变得势在必行。通过硬件加速,这些应用程序可以以更高的吞吐量和更好的性能/功耗执行更多功能。实现这些好处通常特定于硬件实现,因此需要从 ROS 中抽象出来。

在 Foxy 中使用硬件加速的节点示例图(上图)与在 Humble 中使用类型自适应(下图)相比。类型自适应减少了节点管道中从 CPU 到 GPU 的副本,同时增加了 CPU 和 GPU 之间的并发性

类型适应

ROS 主题可以使用类型适应(REP-2007 9)适应更适合硬件加速的格式。使用适配类型的节点可以发布和/或接收适配类型。使用适配类型的节点需要提供从标准类型转换为适配类型的函数,反之亦然。这使节点图能够使用一种适应类型,该类型可以提高 CPU 和硬件加速的并发性,从计算任务中卸载 CPU,并消除 CPU 和硬件加速器之间的内存复制。

类型协商

通过使用自适应类型的 ROS 节点图,可以进一步受益于优化图中节点之间使用的类型。支持类型协商(REP-2009 5)的节点可以共享它们作为发布者和订阅者支持的类型列表,权重表明他们的偏好。 ROS 将审查参与类型协商的发布者和订阅者,并针对偏好进行优化,同时保持与不支持类型协商的节点的兼容性。首选项是反映性能或类型成本的一种方式,应该由节点的开发人员调整,但可以由应用程序开发人员覆盖。

Jetson AGX Xavier 的简介,Foxy 为 89 毫秒,Humble 为 32 毫秒,对同一节点图进行类型调整

随着类型适应和类型协商性能的提高,ROS 中的进程内主题传递成为瓶颈。 Nsight Systems 5 用于分析消息传递以识别需要改进的领域。在 rcl.cpp 中进行了更改,以减少共享内存指针副本和检查以打印调试消息。

ROS2 节点图在 Foxy 中的 1080p CUDA 缓冲区上按顺序运行,而在 Humble 中使用 Type Adaptation 的相同节点图;在 Jetpack 5.0 开发者预览版、Ubuntu 20.04 和 Jetson AGX Orin 和 Xavier 上以 Hz 为单位测量结果。节点图旨在测试通过最小化计算工作量来提高框架性能,将重点放在 ROS 客户端库中的开销上
在像素处理方面,Jetson AGX Orin 在此测试中从 Foxy 中的 0.55 千兆像素/秒到 Humble 中的 4 千兆像素/秒。 

使用类型适应和类型协商的节点硬件加速图提高了性能、并发性和性能/功率。还有其他实现硬件加速的替代方法,它们分叉 ROS、绕过 ROS 主题或引入与现有节点的不兼容性。类型适配和类型协商是 ROS with Humble 原生的,与现有节点兼容,并对包括 GPU、DSP、NN 加速器和其他硬件模块在内的所有类型的硬件加速器开放。

 



事实上,Fast DDS 被选为 ROS 2 Humble 的默认 DDS 中间件,允许 ROS 2 用户使用可靠且性能优化的实现来开发机器人应用程序。

以许多功能而闻名,例如


  1. 实时行为
  2. DDS 安全
  3. 发现服务器
  4. 共享内存传输
  5. 同步和异步发布模式

还有很多
eProsima 能够在 Humble 版本的 Fast DDS 中包含更多特性……

内容过滤主题功能 1 (CFT) 为主题提供过滤功能,使用户在订阅主题时能够在特定条件下对他们感兴趣的数据子集进行分段。
在运行时添加远程服务器和修改服务器定位器:现在可以以编程方式添加和修改参与者的远程服务器列表,当服务器或客户端正在运行时,正在运行的服务器或客户端应连接到这些远程服务器。
静态发现新格式:新的交换格式减少了传输静态所需的网络带宽。
快速 DDS CLI 的 XML 支持。
完整的事件支持:发布者和订阅者的不兼容 QoS 通知。

 



rclc - 用于微控制器的 ROS 2 C-API

rclc 包对 ROS 客户端支持库 (rcl) 进行了补充,为 C 编程语言提供了完整的 ROS 2 客户端库



micro-ROS


  1. 新的 RCLC 特性
  2. 对各种板的新支持:RENESAS RA 系列、TI Tiva™ C 系列、
  3. 对众多平台的新支持:Platforms IO、St STMCube、Microsoft Azure RTOS、Espressif ESP-IDF
  4. 新嵌入式RTPS实验RMW 1
  5. 微型 XRCE-DDS v2.1.1 


Moveit2

 

亮点


  • 混合规划 7:使用(较慢)全局运动规划器和(较快)局部运动规划器,使机器人能够在线和在动态环境中解决不同的任务
  • TOTG 1:现在默认的参数化方法
  • Ruckig 1:改进的时间参数化和 jerk 平滑,允许非零初始/最终条件
  • MoveIt Setup Assistant 3:使用 MoveIt 的入口点,现在适用于 ROS 2
  • MoveIt Config Utilities 2:简化加载参数
  • 许多用于手臂的新 ROS 2 驱动程序(Universal Robotics 3 及更多即将发布)


Nav2

亮点


  1. 在运行时、组织、启发式以及添加新的 State Lattice 规划器等方面对 Smac 规划器进行了大规模改进。
  2. 为 Nav2 应用程序开发人员添加 Python3 API,可以从 pythonic API 访问所有 Nav2 系统。
  3. 整个堆栈的运行时性能改进减少了节点数量,显式控制执行程序,并默认启用组合,因此所有 Nav2 都在一个进程中,将 CPU 开销减少 15% 并将内存减少 70%。 经过测试,可以在树莓派上轻松运行,并为自定义机器人代码留出足够的空间。
  4. 包含新算法:State Lattice、Rotation Shim、Simple Smoother、Constrained Smoother、(即将添加)Velocity Smoother
  5. 所有适当参数的动态重新配置
  6. 在 Nav2 核心架构中添加新的 Smoother Server,用于全局路径平滑
  7. 为 Lifecycle Manager 和 Nav2 启动添加了重生支持
  8. 几个新的文档页面、教程等。



 

 



推荐阅读
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文探讨了在一个物理隔离的环境中构建数据交换平台所面临的挑战,包括但不限于数据加密、传输监控及确保文件交换的安全性和可靠性。同时,作者结合自身项目经验,分享了项目规划、实施过程中的关键决策及其背后的思考。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • 本文探讨了一种统一的语义数据模型,旨在支持物联网、建筑及企业环境下的数据转换。该模型强调简洁性和可扩展性,以促进不同行业间的插件化和互操作性。对于智能硬件开发者而言,这一模型提供了重要的参考价值。 ... [详细]
  • 自动驾驶中的9种传感器融合算法
    来源丨AI修炼之路在自动驾驶汽车中,传感器融合是融合来自多个传感器数据的过程。该步骤在机器人技术中是强制性的,因为它提供了更高的可靠性、冗余性以及最终的 ... [详细]
  • OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战
    OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战 ... [详细]
  • 本文详细介绍了如何在智能手机上将电话铃声恢复到原始状态,适用于各种品牌的智能手机。 ... [详细]
  • 本文详细介绍如何在华为鲲鹏平台上构建和使用适配ARM架构的Redis Docker镜像,解决常见错误并提供优化建议。 ... [详细]
  • 深入解析:存储技术的演变与发展
    本文探讨了从单机文件系统到分布式文件系统的存储技术发展过程,详细解释了各种存储模型及其特点。 ... [详细]
  • 协程作为一种并发设计模式,能有效简化Android平台上的异步代码处理。自Kotlin 1.3版本引入协程以来,这一特性基于其他语言的成熟理念,为开发者提供了新的工具,以增强应用的响应性和效率。 ... [详细]
  • 本文介绍了一个使用mii-tool工具检查网络接口状态的Bash脚本,并将结果记录到日志文件中。 ... [详细]
  • 开发笔记:前端之前端初识
    开发笔记:前端之前端初识 ... [详细]
  • 3D打印技术的最新进展及其产业应用前景
    今年5月,我国成功发射的长征五号B运载火箭携带了新一代载人飞船试验船,船上首次搭载了一台3D打印机,标志着我国在太空3D打印领域的重大突破。本文将探讨3D打印技术的最新进展及其对未来产业的潜在影响。 ... [详细]
  • 在使用 Cacti 进行监控时,发现已运行的转码机未产生流量,导致 Cacti 监控界面显示该转码机处于宕机状态。进一步检查 Cacti 日志,发现数据库中存在 SQL 查询失败的问题,错误代码为 145。此问题可能是由于数据库表损坏或索引失效所致,建议对相关表进行修复操作以恢复监控功能。 ... [详细]
  • 在 `UITableViewController` 中采用简洁的平面样式布局时,可以通过优化代码实现单元格扩展至屏幕边缘的效果,同时确保节标题以分组样式呈现,从而提升用户体验和界面美观度。通过这种方式,可以更好地组织和展示列表内容,使其更加清晰和有序。 ... [详细]
author-avatar
先人掌
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有